perm filename LETTER.DD[P,JRA] blob sn#171771 filedate 1975-08-05 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	\\M1BASL30\M2BASB30\M3NGR25\M4NGR20\F2\CSTANFORD UNIVERSITY
C00007 ENDMK
C⊗;
\\M1BASL30;\M2BASB30;\M3NGR25;\M4NGR20;\F2\CSTANFORD UNIVERSITY
\F3\CSTANFORD, CALIFORNIA 94305
\F4COMPUTER SCIENCE DEPARTMENT\←L\-R\/'7;\+R\→.\→S   Telephone:
\←S\→.415-497-4971
\F1\CAug 4, 1975

Dr. H. E. Pike, Systems Dept.
Data Disc Inc
686 W. Maude
Sunnyvale, Ca. 94086

Dear Dr. Pike:
\J
I am  responding to  your ad  in the  sunday Examiner concerning  the
development  of  interactive  on-line  systems.  I  have worked  with
sophisticated on-line systems  for most of  the last  ten years. I  am
currently  completing a  book dealing  with abstract  programming and
data  structures  and one  of  my  current research  interests  is to
develop  an   interactive   programming  environment   to   reinforce
abstraction and  structuring in the programming process.  It seems to
me that we  have a reasonably  large set of  common interests.   I am
therefore  enclosing a  reasonably  complete biography,  the  salient
features of which are expertise in at least the following areas:

Language design and translator  writing: This is based on  many years
experience  as   a  programmer,  several  years  teaching  translator
writing, language implementation,  and research  in specification  of
languages and data  structures, and finally the writing of  a book on
LISP,  language design,  and implementation  (to be published  in the
McGraw-Hill series on computer science). 

Systems   programming:  Many   years   experience  in   the   design,
implementation, and maintenance of operating systems and time-sharing
systems. 

Display-based and interactive  programming: Based  on the design  and
use  of  sophisticated display-based  time  sharing  systems, and  on
recent   research  into  interactive  programming   as  a  means  for
controlling   complexity   and   maintaining   correctness   in   the
construction on complex programs. 

Theory - mathematical  semantics, theorem proving,  verification, and
automatic  programming: This  incorporates several years  research in
the practical as well as theoretical aspects of theorem proving  as a
technique  to  attack  problems  in   computer  science  as  well  as
mathematics. Recent work in attempting to understand how to construct
correct programs  has  involved  study of  contemporary  verification
techniques as  well as study  of mathematical models  for programming
languages. 

Computer science education and  CAI: One of  the reasons for  careful
study of programming languages  and methodology is to improve  on the
way  people  approach  the  problems  of  writing programs.  My  book
reflects  many  of  my  thoughts   on  how  to  design  correct   and
understandable programs.  What is also needed  are the computer-based
tools to reinforce good pedagogy. 

If you would like to talk further please contact me.
\.
\←L\→S\←R\-L\/'2;\+L\→L

Yours sincerely,



John R. Allen
Research Associate
Computer Science Dept
Artificial Intelligence Lab

\←S\→L